package main

import "fmt"

// 切片练习
func main() {
	var array = [4]int{1, 2, 3, 4}
	var slice []int
	slice = array[0:3]
	fmt.Println(len(slice))
	fmt.Println(cap(slice))

	//切片会改变原数组切片中的数值
	slice[0] = 10
	fmt.Println(array)
	//append函数 调用该函数后切片会指向一个新的数组地址
	slice = append(slice, 3, 4, 120)
	fmt.Println(slice)
	fmt.Println(array)
	//使用make自定义切片  参数：数据类型  切片长度  切片容量
	slice2 := make([]int, 4, 5)
	fmt.Println(slice2)

	//切片后面追加切片 另一个切片后面附上三个点
	slice = append(slice, slice2...)
	fmt.Println(slice)

	//切片的拷贝
	var slice3 = make([]int, 10)
	//将后者拷贝到前者中
	copy(slice3, slice)
	fmt.Println(slice3)
}
